"""
函数的递归
    函数调用自身的编程技巧称为递归

1 递归函数的特点
    - 一个函数内部自己调用自己
        在函数的内部可以调用其他函数，当然在函数内部也可以调用自己
    
    代码特点：
        a 函数内部的代码是相同的，只针对参数不同，处理的结果不同
        b 当参数满足一个条件时，函数不再执行
            - 这个条件非常重要，通常称为递归的出口，否则会出现死循环
"""

def sum_nums(num):
    print(num)
    # 递归的出口，否则会出现死循环
    if num == 1:
        return
    sum_nums(num - 1)


sum_nums(5)
